package com.diandian.backend.entrance.client;

import com.diandian.backend.entrance.client.dto.OfflineStoreBatchAddParamDTO;
import com.diandian.backend.entrance.client.dto.OfflineStoreOpenApiPageParamDTO;
import com.diandian.backend.entrance.client.dto.OfflineStoreQueryAllStoreCodeParamDTO;
import com.diandian.backend.entrance.client.dto.StoreDouyinLifeStoreInfoListParamDTO;
import com.diandian.backend.entrance.client.dto.store.StoreDouyinLifeStoreInfoDetailByCodeParamDTO;
import com.diandian.backend.entrance.client.dto.store.StoreDouyinLifeStoreInfoDetailByRoomIdParamDTO;
import com.diandian.base.boot.starter.response.BaseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient("diandian-store")
//@FeignClient(value = "business-diandian-sms", url = "http://localhost:8083", path = "")
public interface DianDianStoreClient {

    // 分页查询门店
    @PostMapping("/offline/store/open/api/page")
    BaseResult getStorePage(@RequestBody OfflineStoreOpenApiPageParamDTO param);

    // 查询全部门店编码
    @PostMapping("/offline/store/open/api/code/list")
    BaseResult getAllStoreCodeList(@RequestBody OfflineStoreQueryAllStoreCodeParamDTO param);

    // 批量同步门店
    @PostMapping("/offline/store/open/api/batchSync")
    BaseResult batchSyncStore(@RequestBody OfflineStoreBatchAddParamDTO param);

    /**
     * 抖音本地生活-根据线上门店编码或线下门店编码查询门店信息
     */
    @PostMapping("/douyin/life/store/info/open/api/detail/code")
    BaseResult getDetailByCode(@RequestBody StoreDouyinLifeStoreInfoDetailByCodeParamDTO param);

    /**
     * 抖音本地生活-根据直播间ID查询门店信息
     */
    @PostMapping("/douyin/life/store/info/open/api/detail/roomId")
    BaseResult getDetailByRoomId(@RequestBody StoreDouyinLifeStoreInfoDetailByRoomIdParamDTO param);

    /**
     * 抖音本地生活-获取门店信息列表
     * @param param
     * @return
     */
    @PostMapping("/douyin/life/store/info/open/api/list")
    BaseResult getDouYinStoreList(@RequestBody StoreDouyinLifeStoreInfoListParamDTO param);

}
